﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Data.Sql;
using System.Data.SqlClient;
using System.Configuration;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;

namespace Projeto_Gilberto
{
        #region Main
        public partial class Main : Form
        {
        #region Atributes
        SqlDataAdapter sqlAdapter = null;
        SqlCommandBuilder sqlCommand = null;
        DataSet dataset = null;
        DateTime agora = DateTime.Now;
        DateTime @data, varDT;
        public string pdt;
        bool invalidForm, loaded;
        string str = "";
        string @fornecedor, @item, @area, @nf, @linha, @mes, @ano;
        double @valor;
        int @ID = 0;
        ErrorProvider eprErros;
        MessageBoxButtons buttons;
        Telas telas = new Telas();
        #endregion

        #region Methods

        #region Buttons Events

        private void Apagar_Click(object sender, EventArgs e)
        {
            if (loaded)
            {
                buttons = MessageBoxButtons.YesNo;
                var confirm = MessageBox.Show("Tem certeza que deseja apagar este registro?", "Apagar Registro", buttons);
                if (confirm == DialogResult.Yes)
                {
                    MessageBox.Show("Registro apagado com sucesso", "Apagar Registro", MessageBoxButtons.OK);
                    SQL_Deletar();
                    BuscaNoBanco2();
                    DBView.Columns[0].Visible = false;
                    DBView.Columns[8].Visible = false;
                    DBView.Columns[9].Visible = false;
                    //Clear();
                }
            }
        }

        private void Modificar_Click(object sender, EventArgs e)
        {
            if (loaded)
            {
                buttons = MessageBoxButtons.YesNo;
                var confirm = MessageBox.Show("Tem certeza que deseja modificar este registro?", "Modificar Registro", buttons);
                if (confirm == DialogResult.Yes)
                {
                    MessageBox.Show("Registro modificado com sucesso", "Modificar Registro", MessageBoxButtons.OK);
                    SQL_Atualizar();
                    BuscaNoBanco2();
                    DBView.Columns[0].Visible = false;
                    DBView.Columns[8].Visible = false;
                    DBView.Columns[9].Visible = false;
                    //Clear();
                }
            }
        }

        private void Gravar_Click(object sender, EventArgs e)
        {
            //Verify();
            if (Linha_field.Text == "")
            {
                MessageBox.Show("Seu formulário não é valido", "", MessageBoxButtons.OK);
            }
            else
            {
                if (Fornecedor_field.Text == "")
                {
                    MessageBox.Show("Seu formulário não é valido", "", MessageBoxButtons.OK);
                }
                else
                {
                    if (Area_field.Text == "")
                    {
                        MessageBox.Show("Seu formulário não é valido", "", MessageBoxButtons.OK);
                    }
                    else
                    {
                        if (Item_field.Text == "")
                        {
                            MessageBox.Show("Seu formulário não é valido", "", MessageBoxButtons.OK);
                        }
                        else
                        {
                            if (NF_field.Text == "")
                            {
                                MessageBox.Show("Seu formulário não é valido", "", MessageBoxButtons.OK);
                            }
                            else
                            {
                                #region Gravar
                                buttons = MessageBoxButtons.YesNo;
                                var confirm = MessageBox.Show("Tem certeza que deseja gravar este registro?", "Gravar Registro", buttons);
                                if (confirm == DialogResult.Yes)
                                {
                                    Valor_field.Text = Valor_field.Text.Replace(",", ".");
                                    SQL_Cadastro();
                                    loaded = true;
                                    Excluir.Enabled = true;
                                    Modificar.Enabled = true;
                                    BuscaNoBanco2();
                                    DBView.Columns[0].Visible = false;
                                    DBView.Columns[8].Visible = false;
                                    DBView.Columns[9].Visible = false;
                                    MessageBox.Show("Registro gravado com sucesso", "Salvar Registro", MessageBoxButtons.OK);
                                }

                                #endregion
                            }
                        }
                    }
                }
            }
        }

        private void Buscar_Click(object sender, EventArgs e)
        {
            //DBView.Columns[0].Visible = false;
            BuscaNoBanco();
            DBView.Columns[0].Visible = false;
            DBView.Columns[8].Visible = false; 
            DBView.Columns[9].Visible = false;
            loaded = true;
            Excluir.Enabled = true;
            Modificar.Enabled = true;
            Limpar.Enabled = true;
            Excluir.ForeColor = Color.Black;
            Modificar.ForeColor = Color.Black;
            Limpar.ForeColor = Color.Black;
        }

        private void Limpar_Click(object sender, EventArgs e)
        {
            Clear();
        }

        private void VoltarMenu_Click(object sender, EventArgs e)
        {
            telas = Telas.Main;
            ControleTelas();
        }

        private void CalendarioBtn_Click(object sender, EventArgs e)
        {
            Calendário cld = new Calendário(this);
            cld.Show();
        }

        private void Sair_Click(object sender, EventArgs e)
        {
            Application.Exit();
        }

        private void Controle_Click(object sender, EventArgs e)
        {
            telas = Telas.Controle;
            ControleTelas();
        }

        private void GerarRelatorio_Click(object sender, EventArgs e)
        {
            Relatorio();
        }

        private void SairMain_Click(object sender, EventArgs e)
        {
            Application.Exit();
        }

        #endregion

        #region Other Events

        private void Valor_field_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
        {

            int KeyCode = e.KeyValue;
            IsNumeric(KeyCode);

            if (!IsNumeric(KeyCode))
            {
                e.Handled = true;
                return;
            }
            else
            {
                e.Handled = true;
            }
            if (((KeyCode == 8) || (KeyCode == 46)) && (str.Length > 0))
            {
                str = str.Substring(0, str.Length - 1);
            }
            else if (!((KeyCode == 8) || (KeyCode == 46)))
            {
                str = str + Convert.ToChar(KeyCode);
            }
            if (str.Length == 0)
            {
                Valor_field.Text = "0,00";
            }
            if (str.Length == 1)
            {
                Valor_field.Text = "0,0" + str;
            }
            else if (str.Length == 2)
            {
                Valor_field.Text = "0," + str;
            }
            else if (str.Length > 2)
            {
                Valor_field.Text = str.Substring(0, str.Length - 2) + "," +
                                str.Substring(str.Length - 2);
                if (str.Length > 5)
                {
                    Valor_field.Text = str.Substring(0, str.Length - 2) + "," + str.Substring(str.Length - 2);
                }
            }
        }

        private void Valor_field_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e)
        {
            e.Handled = true;
        }

        private void dataGridView1_SelectionChanged(object sender, EventArgs e)
        {
            SubindoDados();
            Limpar.Enabled = true;
        }

        private void EscolherAno_SelectedIndexChanged(object sender, EventArgs e)
        {
            Somar();
        }

        #endregion

        #region Custom Functions

        public Main()
        {
            InitializeComponent();
            ControleTelas();
            CarregarArea();
            CarregarFornecedor();
            CarregarLinha();
            //CarregarAnos();
            Fornecedor_field.DropDownStyle = ComboBoxStyle.DropDownList;
            Area_field.DropDownStyle = ComboBoxStyle.DropDownList;
            Linha_field.DropDownStyle = ComboBoxStyle.DropDownList;
            EscolherAno.DropDownStyle = ComboBoxStyle.DropDownList;
            Excluir.Enabled = false;
            Modificar.Enabled = false;
            Limpar.Enabled = false;

            
            Somar();
            EscolherAno.Text = agora.Year.ToString();            
        }

        private void CarregarFornecedor()
        {
            SqlConnection conn = new SqlConnection("SERVER=LABRIO;DATABASE=DBRIO;Trusted_Connection=True");//@"Server=xxx;Database=xxx;Uid=xxx;Pwd=xxx;"
            SqlDataAdapter adapter = new SqlDataAdapter("SELECT * FROM FORNECEDOR Order by NMFORN", conn);
            DataTable table = new DataTable();
            adapter.Fill(table);
            for (int i = 0; i < table.Rows.Count; i++)
            {
                Fornecedor_field.Items.Add(table.Rows[i]["NMFORN"]);
            }
        }

        private void CarregarAnos()
        {
            SqlConnection conn = new SqlConnection("SERVER=LABRIO;DATABASE=DBRIO;Trusted_Connection=True");//@"Server=xxx;Database=xxx;Uid=xxx;Pwd=xxx;"
            SqlDataAdapter adapter = new SqlDataAdapter("SELECT DISTINCT ano FROM ANO", conn);
            DataTable table = new DataTable();
            adapter.Fill(table);
            for (int i = 0; i < table.Rows.Count; i++)
            {
               /* for (int j = 0; j < table.Rows.Count; j++)
                {
                    if(EscolherAno. == table.Rows[j]["ANO"])
                    EscolherAno.Items.Add(table.Rows[i]["ANO"]);
                }*/
            }
        }

        private void CarregarArea()
        {
            SqlConnection conn = new SqlConnection("SERVER=LABRIO;DATABASE=DBRIO;Trusted_Connection=True");//@"Server=xxx;Database=xxx;Uid=xxx;Pwd=xxx;"
            SqlDataAdapter adapter = new SqlDataAdapter("SELECT * FROM AREA Order by NMDPTCSC", conn);
            DataTable table = new DataTable();
            adapter.Fill(table);
            for (int i = 0; i < table.Rows.Count; i++)
            {
                Area_field.Items.Add(table.Rows[i]["NMDPTCSC"]);
            }
        }

        private void CarregarLinha()
        {
            SqlConnection conn = new SqlConnection("SERVER=LABRIO;DATABASE=DBRIO;Trusted_Connection=True");//@"Server=xxx;Database=xxx;Uid=xxx;Pwd=xxx;"
            SqlDataAdapter adapter = new SqlDataAdapter("SELECT * FROM LINHA Order by NMLNCSC", conn);
            DataTable table = new DataTable();
            adapter.Fill(table);
            for (int i = 0; i < table.Rows.Count; i++)
            {
                Linha_field.Items.Add(table.Rows[i]["NMLNCSC"]);
            }
        }

        private void SQL_Cadastro()
        {
            SqlConnection conn = new SqlConnection("SERVER=LABRIO;DATABASE=DBRIO;Trusted_Connection=True");
            try
            {
                SqlCommand gravar = conn.CreateCommand();
                gravar.CommandText = "INSERT into DBCONTROLE(DATA,FORNECEDOR,NOTAFISCAL,ITEM,VALOR,AREA,LINHA,MES,ANO) values (@data,@fornecedor,@nf,@item,@valor,@area,@linha,@mes,@ano)";
                gravar.Parameters.AddWithValue("@data", Data_field.Text);
                gravar.Parameters.AddWithValue("@fornecedor", Fornecedor_field.Text);
                gravar.Parameters.AddWithValue("@nf", NF_field.Text);
                gravar.Parameters.AddWithValue("@item", Item_field.Text);
                gravar.Parameters.AddWithValue("@valor", Valor_field.Text);
                gravar.Parameters.AddWithValue("@area", Area_field.Text);
                gravar.Parameters.AddWithValue("@linha", Linha_field.Text);
                gravar.Parameters.AddWithValue("@mes", Mes.Text);
                gravar.Parameters.AddWithValue("@ano", Ano.Text);
                conn.Open();
                gravar.ExecuteNonQuery();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
            }
        }

        private void SQL_Deletar()
        {
            SqlConnection conn = new SqlConnection("SERVER=LABRIO;DATABASE=DBRIO;Trusted_Connection=True");
            string strsql = "DELETE FROM DBCONTROLE WHERE ID = '" + IDBOX.Text + "'";
            SqlCommand deletar = new SqlCommand(strsql, conn);
            conn.Open();
            deletar.ExecuteNonQuery();
        }

        private void SQL_Atualizar()
        {
            SqlConnection conn = new SqlConnection("SERVER=LABRIO;DATABASE=DBRIO;Trusted_Connection=True");

            SqlCommand atualizar = conn.CreateCommand();
            atualizar.CommandText = "UPDATE DBCONTROLE SET DATA = @data,FORNECEDOR = @fornecedor,NOTAFISCAL = @nf,ITEM = @item,VALOR = @valor,AREA = @area, LINHA = @linha, MES = @mes, ANO = @ano WHERE ID = '" + IDBOX.Text + "'";
            atualizar.Parameters.AddWithValue("@data", Data_field.Text);
            atualizar.Parameters.AddWithValue("@fornecedor", Fornecedor_field.Text);
            atualizar.Parameters.AddWithValue("@nf", NF_field.Text);
            atualizar.Parameters.AddWithValue("@item", Item_field.Text);
            atualizar.Parameters.AddWithValue("@valor", Valor_field.Text);
            atualizar.Parameters.AddWithValue("@area", Area_field.Text);
            atualizar.Parameters.AddWithValue("@linha", Linha_field.Text);
            atualizar.Parameters.AddWithValue("@mes", Mes.Text);
            atualizar.Parameters.AddWithValue("@ano", Ano.Text);
            conn.Open();
            atualizar.ExecuteNonQuery();
        }

        private bool IsNumeric(int Val)
        {
            return (!(Val >= 58 && Val <= 255) || (Val == 8) || (Val == 46));
        }

        private void SubindoDados()
        {
            try
            {
                IDBOX.Text = DBView.CurrentRow.Cells[0].Value.ToString();
                Data_field.Text = DBView.CurrentRow.Cells[1].Value.ToString();
                Fornecedor_field.Text = DBView.CurrentRow.Cells[2].Value.ToString();
                NF_field.Text = DBView.CurrentRow.Cells[3].Value.ToString();
                Item_field.Text = DBView.CurrentRow.Cells[4].Value.ToString();
                Valor_field.Text = DBView.CurrentRow.Cells[5].Value.ToString();
                Area_field.Text = DBView.CurrentRow.Cells[6].Value.ToString();
                Linha_field.Text = DBView.CurrentRow.Cells[7].Value.ToString();
                Mes.Text = DBView.CurrentRow.Cells[8].Value.ToString();
                Ano.Text = DBView.CurrentRow.Cells[9].Value.ToString();
            }
            catch
            {
            }
        }

        private void BuscaNoBanco()
        {
            try
            {

                string strSql;
                SqlConnection conn = new SqlConnection("SERVER=LABRIO;DATABASE=DBRIO;Trusted_Connection=True");//@"Server=xxx;Database=xxx;Uid=xxx;Pwd=xxx;"
                SqlDataAdapter adapter;
                DataTable table = new DataTable();
                SqlCommand cmd;
                strSql = "SELECT * FROM DBCONTROLE";


                if (Fornecedor_field.Text != "" || Area_field.Text != "" || Item_field.Text != "" || NF_field.Text != "")
                {
                    strSql = strSql + " WHERE ";
                    if (Fornecedor_field.Text != "")
                    {
                        strSql = strSql + "FORNECEDOR = '" + Fornecedor_field.Text + "'";
                        if (Area_field.Text != "")
                        {
                            strSql = strSql + "AND AREA = '" + Area_field.Text + "'";
                        }
                        if (Item_field.Text != "")
                        {
                            strSql = strSql + "AND Item = '" + Item_field.Text + "'";
                        }
                        if (NF_field.Text != "")
                        {
                            strSql = strSql + "AND NOTAFISCAL = '" + NF_field.Text + "'";
                        }
                    }
                    else if (Area_field.Text != "")
                    {
                        strSql = strSql + "AREA = '" + Area_field.Text + "'";
                        if (Item_field.Text != "")
                        {
                            strSql = strSql + "AND Item = '" + Item_field.Text + "'";
                        }
                        if (NF_field.Text != "")
                        {
                            strSql = strSql + "AND NOTAFISCAL = '" + NF_field.Text + "'";
                        }
                    }
                    else if (Item_field.Text != "")
                    {
                        strSql = strSql + "Item = '" + Item_field.Text + "'";
                        if (NF_field.Text != "")
                        {
                            strSql = strSql + "AND NOTAFISCAL = '" + NF_field.Text + "'";
                        }
                    }
                    if (NF_field.Text != "")
                    {
                        strSql = strSql + "NOTAFISCAL = '" + NF_field.Text + "'";
                    }
                    //strSql = strSql.Remove(strSql.Length - 3, 3);
                }



                cmd = new SqlCommand(strSql, conn);
                adapter = new SqlDataAdapter(strSql, conn);
                conn.Open();
                cmd.CommandType = CommandType.Text;
                DataTable DBCONTROLE = new DataTable();
                adapter.Fill(DBCONTROLE);
                DBView.DataSource = DBCONTROLE;

            }
            catch (Exception ex)
            {

            }
        }

        private void BuscaNoBanco2()
        {
            SqlConnection conn = new SqlConnection("SERVER=LABRIO;DATABASE=DBRIO;Trusted_Connection=True");//@"Server=xxx;Database=xxx;Uid=xxx;Pwd=xxx;"
            SqlDataAdapter adapter;
            DataTable table = new DataTable();
            SqlCommand cmd;
            string strSql = "SELECT * FROM DBCONTROLE";

            cmd = new SqlCommand(strSql, conn);
            adapter = new SqlDataAdapter(strSql, conn);
            conn.Open();
            cmd.CommandType = CommandType.Text;
            DataTable DBCONTROLE = new DataTable();
            adapter.Fill(DBCONTROLE);
            DBView.DataSource = DBCONTROLE;
        }

        private void Clear()
        {
            DBView.DataSource = null;
            Fornecedor_field.Text = null;
            Area_field.Text = null;
            Linha_field.Text = null;
            Item_field.Text = "";
            NF_field.Text = "";
            Data_field.Text = "";
            Valor_field.Text = "0,00";
            Excluir.Enabled = false;
            Modificar.Enabled = false;
            Limpar.Enabled = false;
            Excluir.ForeColor = Color.Green;
            Modificar.ForeColor = Color.Green;
            Limpar.ForeColor = Color.Green;
        }

        private void Relatorio()
        {
            // Endereço onde salvar o arquivo + nome do arquivo + extensão .CSV .XLS

            string endereco = "C:\\relatorio.csv";

            using (StreamWriter writer = new StreamWriter(endereco, false, Encoding.GetEncoding("iso-8859-15"), 100))
            {

                // Conexão com o banco de dados

                string conexao = "SERVER=LABRIO;DATABASE=DBRIO;Trusted_Connection=True";

                writer.WriteLine("Index;Data;Fornecedor;Nota Fiscal;Item;Valor;Área;Linha");

                using (SqlConnection conn = new SqlConnection(conexao))
                {
                    string query = "SELECT ID,DATA,FORNECEDOR,NOTAFISCAL,ITEM,VALOR,AREA,LINHA FROM DBCONTROLE";
                    SqlCommand sqlComand = new SqlCommand(query, conn);
                    conn.Open();
                    using (IDataReader reader = sqlComand.ExecuteReader())
                    {
                        while (reader.Read())
                        {

                            // escrevendo os registros

                            writer.WriteLine(Convert.ToString(reader["ID"]) + ";" + Convert.ToString(reader["DATA"]) + ";" + Convert.ToString(reader["FORNECEDOR"]) + ";" + Convert.ToString(reader["NOTAFISCAL"]) + ";" + Convert.ToString(reader["ITEM"]) + ";" + Convert.ToString(reader["VALOR"]) + ";" + Convert.ToString(reader["AREA"]) + ";" + Convert.ToString(reader["LINHA"]));
                        }
                    }
                    conn.Close();
                }
            }

            // mensagem de arquivo gerado com sucesso.

            MessageBox.Show("Relatório gerado com sucesso em " + endereco, "ATENÇÃO", MessageBoxButtons.OK, MessageBoxIcon.Information);

            try
            {
                if (File.Exists(endereco))
                {
                    System.Diagnostics.Process.Start(endereco);
                }

                else
                {
                    MessageBox.Show("Arquivo não encontrado!");
                }

            }

            catch (Exception ex)
            {

                MessageBox.Show(ex.Message);

            }
        }

        private void PegandoData()
        {
            Data_field.Text = pdt;
        }

        private void ControleTelas()
        {
            switch (telas)
            {
                case Telas.Main:                                  

                    #region Hide
                    Data_label.Hide();
                    Item_label.Hide();
                    Data_field.Hide();
                    Item_field.Hide();
                    NF_label.Hide();
                    Fornecedor_field.Hide();
                    NF_field.Hide();
                    Fornecedor_label.Hide();
                    Valor_field.Hide();
                    Area_label.Hide();
                    Valor_label.Hide();
                    Area_field.Hide();
                    Gravar.Hide();
                    Excluir.Hide();
                    Modificar.Hide();
                    Buscar.Hide();
                    DBView.Hide();
                    Limpar.Hide();
                    VoltarMenu.Hide();
                    Linha_label.Hide();
                    Linha_field.Hide();
                    BtnCalendario.Hide();
                    BackPanelControle.Hide();
                    #endregion

                    #region Execute
                    Somar();
                    #endregion

                    #region Show
                    Logo.Show();
                    LogoTitle.Show();
                    Controle.Show();
                    ExportarExcel.Show();
                    SairMain.Show();
                    Janeiro.Show();
                    Fevereiro.Show();
                    Marco.Show();
                    Abril.Show();
                    Maio.Show();
                    Junho.Show();
                    Julho.Show();
                    Agosto.Show();
                    Setembro.Show();
                    Outubro.Show();
                    Novembro.Show();
                    Dezembro.Show();
                    Anual.Show();
                    BackPanel.Show();
                    lblSomaJaneiro.Show();
                    lblSomaFevereiro.Show();
                    lblSomaMarco.Show();
                    lblSomaAbril.Show();
                    lblSomaMaio.Show();
                    lblSomaJunho.Show();
                    lblSomaJulho.Show();
                    lblSomaAgosto.Show();
                    lblSomaSetembro.Show();
                    lblSomaOutubro.Show();
                    lblSomaNovembro.Show();
                    lblSomaDezembro.Show();
                    lblSomaAnual.Show();
                    EscolherAno.Show();
                    #endregion

                    break;

                case Telas.Controle:

                    #region Hide
                    Logo.Hide();
                    LogoTitle.Hide();
                    Controle.Hide();
                    ExportarExcel.Hide();
                    SairMain.Hide();
                    Janeiro.Hide();
                    Fevereiro.Hide();
                    Marco.Hide();
                    Abril.Hide();
                    Maio.Hide();
                    Junho.Hide();
                    Julho.Hide();
                    Agosto.Hide();
                    Setembro.Hide();
                    Outubro.Hide();
                    Novembro.Hide();
                    Dezembro.Hide();
                    Anual.Hide();
                    BackPanel.Hide();
                    lblSomaJaneiro.Hide();
                    lblSomaFevereiro.Hide();
                    lblSomaMarco.Hide();
                    lblSomaAbril.Hide();
                    lblSomaMaio.Hide();
                    lblSomaJunho.Hide();
                    lblSomaJulho.Hide();
                    lblSomaAgosto.Hide();
                    lblSomaSetembro.Hide();
                    lblSomaOutubro.Hide();
                    lblSomaNovembro.Hide();
                    lblSomaDezembro.Hide();
                    lblSomaAnual.Hide();
                    EscolherAno.Hide();
                    #endregion

                    #region Show
                    Data_label.Show();
                    Item_label.Show();
                    Data_field.Show();
                    Item_field.Show();
                    NF_label.Show();
                    Fornecedor_field.Show();
                    NF_field.Show();
                    Fornecedor_label.Show();
                    Valor_field.Show();
                    Area_label.Show();
                    Valor_label.Show();
                    Area_field.Show();
                    Gravar.Show();
                    Excluir.Show();
                    Modificar.Show();
                    Buscar.Show();
                    DBView.Show();
                    Limpar.Show();
                    VoltarMenu.Show();
                    Linha_label.Show();
                    Linha_field.Show();
                    BtnCalendario.Show();
                    BackPanelControle.Show();
                    #endregion

                    break;
            }
        }

        private void Somar()
        {
           
            string conexao = "SERVER=LABRIO;DATABASE=DBRIO;Trusted_Connection=True";
                          
            using (SqlConnection conn = new SqlConnection(conexao))
            {
                #region Janeiro
                try
                {
                    string sql = "SELECT SUM(VALOR) AS VALOR FROM DBCONTROLE";
                    //sql += " Where Mes = '" + ckbAbril.Content + "'";
                    sql += " WHERE MES = 'Janeiro' and ANO = '" + EscolherAno.Text + "'";
                    conn.Open();
                    SqlDataAdapter da = new SqlDataAdapter(sql, conn);
                    DataSet ds = new DataSet();
                    da.Fill(ds, "DBCONTROLE");
                    foreach (DataRow dr in ds.Tables["DBCONTROLE"].Rows)
                    {
                        lblSomaJaneiro.Text = "R$ " + dr["VALOR"].ToString();
                        if (dr["VALOR"].ToString() == "")
                        {
                            lblSomaJaneiro.Text = "R$ " + 0 + ",00";
                        }
                    }
                    conn.Close();
                }
                catch (Exception x)
                {
                    MessageBox.Show("Erro: " + x.Message);
                }
                finally
                {
                    conn.Close();

                    if (lblSomaJaneiro.Text.Length > 10)
                        lblSomaJaneiro.Text = lblSomaJaneiro.Text.Substring(0, lblSomaJaneiro.Text.Length - 9) + "." + lblSomaJaneiro.Text.Substring(4, lblSomaJaneiro.Text.Length - 10) + "." + lblSomaJaneiro.Text.Substring(lblSomaJaneiro.Text.Length - 6);
                    else if (lblSomaJaneiro.Text.Length > 9)
                        lblSomaJaneiro.Text = lblSomaJaneiro.Text.Substring(0, lblSomaJaneiro.Text.Length - 6) + "." + lblSomaJaneiro.Text.Substring(lblSomaJaneiro.Text.Length - 6);
                }
                #endregion

                #region Fevereiro
                try
                {
                    string sql = "SELECT SUM(VALOR) AS VALOR FROM DBCONTROLE";
                    //sql += " Where Mes = '" + ckbAbril.Content + "'";
                    sql += " WHERE MES = 'Fevereiro' and ANO = '" + EscolherAno.Text + "'";
                    conn.Open();
                    SqlDataAdapter da = new SqlDataAdapter(sql, conn);
                    DataSet ds = new DataSet();
                    da.Fill(ds, "DBCONTROLE");
                    foreach (DataRow dr in ds.Tables["DBCONTROLE"].Rows)
                    {
                        lblSomaFevereiro.Text = "R$ " + dr["VALOR"].ToString();
                        if (dr["VALOR"].ToString() == "")
                        {
                            lblSomaFevereiro.Text = "R$ " + 0 + ",00";
                        }
                    }
                    conn.Close();
                }
                catch (Exception x)
                {
                    MessageBox.Show("Erro: " + x.Message);
                }
                finally
                {
                    conn.Close();

                    if (lblSomaFevereiro.Text.Length > 10)
                        lblSomaFevereiro.Text = lblSomaFevereiro.Text.Substring(0, lblSomaFevereiro.Text.Length - 9) + "." + lblSomaFevereiro.Text.Substring(4, lblSomaFevereiro.Text.Length - 10) + "." + lblSomaFevereiro.Text.Substring(lblSomaFevereiro.Text.Length - 6);
                    else if (lblSomaFevereiro.Text.Length > 9)
                        lblSomaFevereiro.Text = lblSomaFevereiro.Text.Substring(0, lblSomaFevereiro.Text.Length - 6) + "." + lblSomaFevereiro.Text.Substring(lblSomaFevereiro.Text.Length - 6);
                }
                #endregion

                #region Março
                try
                {
                    string sql = "SELECT SUM(VALOR) AS VALOR FROM DBCONTROLE";
                    //sql += " Where Mes = '" + ckbAbril.Content + "'";
                    sql += " WHERE MES = 'Março' and ANO = '" + EscolherAno.Text + "'";
                    conn.Open();
                    SqlDataAdapter da = new SqlDataAdapter(sql, conn);
                    DataSet ds = new DataSet();
                    da.Fill(ds, "DBCONTROLE");
                    foreach (DataRow dr in ds.Tables["DBCONTROLE"].Rows)
                    {
                        lblSomaMarco.Text = "R$ " + dr["VALOR"].ToString();
                        if (dr["VALOR"].ToString() == "")
                        {
                            lblSomaMarco.Text = "R$ " + 0 + ",00";
                        }
                    }
                    conn.Close();
                }
                catch (Exception x)
                {
                    MessageBox.Show("Erro: " + x.Message);
                }
                finally
                {
                    conn.Close();

                    if (lblSomaMarco.Text.Length > 10)
                        lblSomaMarco.Text = lblSomaMarco.Text.Substring(0, lblSomaMarco.Text.Length - 9) + "." + lblSomaMarco.Text.Substring(4, lblSomaMarco.Text.Length - 10) + "." + lblSomaMarco.Text.Substring(lblSomaMarco.Text.Length - 6);
                    else if (lblSomaMarco.Text.Length > 9)
                        lblSomaMarco.Text = lblSomaMarco.Text.Substring(0, lblSomaMarco.Text.Length - 6) + "." + lblSomaMarco.Text.Substring(lblSomaMarco.Text.Length - 6);
                }
                #endregion

                #region Abril
                try
                {
                    string sql = "SELECT SUM(VALOR) AS VALOR FROM DBCONTROLE";
                    //sql += " Where Mes = '" + ckbAbril.Content + "'";
                    sql += " WHERE MES = 'Abril' and ANO = '" + EscolherAno.Text + "'";
                    conn.Open();
                    SqlDataAdapter da = new SqlDataAdapter(sql, conn);
                    DataSet ds = new DataSet();
                    da.Fill(ds, "DBCONTROLE");
                    foreach (DataRow dr in ds.Tables["DBCONTROLE"].Rows)
                    {
                        lblSomaAbril.Text = "R$ " + dr["VALOR"].ToString();
                        if (dr["VALOR"].ToString() == "")
                        {
                            lblSomaAbril.Text = "R$ " + 0 + ",00";
                        }
                    }
                    conn.Close();
                }
                catch (Exception x)
                {
                    MessageBox.Show("Erro: " + x.Message);
                }
                finally
                {
                    conn.Close();

                    if (lblSomaAbril.Text.Length > 10)
                        lblSomaAbril.Text = lblSomaAbril.Text.Substring(0, lblSomaAbril.Text.Length - 9) + "." + lblSomaAbril.Text.Substring(4, lblSomaAbril.Text.Length - 10) + "." + lblSomaAbril.Text.Substring(lblSomaAbril.Text.Length - 6);
                    else if (lblSomaAbril.Text.Length > 9)
                        lblSomaAbril.Text = lblSomaAbril.Text.Substring(0, lblSomaAbril.Text.Length - 6) + "." + lblSomaAbril.Text.Substring(lblSomaAbril.Text.Length - 6);
                }
                #endregion

                #region Maio
                try
                {
                    string sql = "SELECT SUM(VALOR) AS VALOR FROM DBCONTROLE";
                    //sql += " Where Mes = '" + ckbAbril.Content + "'";
                    sql += " WHERE MES = 'Maio' and ANO = '" + EscolherAno.Text + "'";
                    conn.Open();
                    SqlDataAdapter da = new SqlDataAdapter(sql, conn);
                    DataSet ds = new DataSet();
                    da.Fill(ds, "DBCONTROLE");
                    foreach (DataRow dr in ds.Tables["DBCONTROLE"].Rows)
                    {
                        lblSomaMaio.Text = "R$ " + dr["VALOR"].ToString();
                        if (dr["VALOR"].ToString() == "")
                        {
                            lblSomaMaio.Text = "R$ " + 0 + ",00";
                        }
                    }
                    conn.Close();
                }
                catch (Exception x)
                {
                    MessageBox.Show("Erro: " + x.Message);
                }
                finally
                { 
                    conn.Close();

                    if (lblSomaMaio.Text.Length > 10)
                        lblSomaMaio.Text = lblSomaMaio.Text.Substring(0, lblSomaMaio.Text.Length - 9) + "." + lblSomaMaio.Text.Substring(4,lblSomaMaio.Text.Length - 10) + "." + lblSomaMaio.Text.Substring(lblSomaMaio.Text.Length - 6);
                    else if (lblSomaMaio.Text.Length > 9)
                        lblSomaMaio.Text = lblSomaMaio.Text.Substring(0, lblSomaMaio.Text.Length - 6) + "." + lblSomaMaio.Text.Substring(lblSomaMaio.Text.Length - 6);
                }
                #endregion

                #region Junho
                try
                {
                    string sql = "SELECT SUM(VALOR) AS VALOR FROM DBCONTROLE";
                    //sql += " Where Mes = '" + ckbAbril.Content + "'";
                    sql += " WHERE MES = 'Junho' and ANO = '" + EscolherAno.Text + "'";
                    conn.Open();
                    SqlDataAdapter da = new SqlDataAdapter(sql, conn);
                    DataSet ds = new DataSet();
                    da.Fill(ds, "DBCONTROLE");
                    foreach (DataRow dr in ds.Tables["DBCONTROLE"].Rows)
                    {
                        lblSomaJunho.Text = "R$ " + dr["VALOR"].ToString();
                        if (dr["VALOR"].ToString() == "")
                        {
                            lblSomaJunho.Text = "R$ " + 0 + ",00";
                        }
                    }
                    conn.Close();
                }
                catch (Exception x)
                {
                    MessageBox.Show("Erro: " + x.Message);
                }
                finally
                {
                    conn.Close();

                    if (lblSomaJunho.Text.Length > 10)
                        lblSomaJunho.Text = lblSomaJunho.Text.Substring(0, lblSomaJunho.Text.Length - 9) + "." + lblSomaJunho.Text.Substring(4, lblSomaJunho.Text.Length - 10) + "." + lblSomaJunho.Text.Substring(lblSomaJunho.Text.Length - 6);
                    else if (lblSomaJunho.Text.Length > 9)
                        lblSomaJunho.Text = lblSomaJunho.Text.Substring(0, lblSomaJunho.Text.Length - 6) + "." + lblSomaJunho.Text.Substring(lblSomaJunho.Text.Length - 6);
                }
                #endregion

                #region Julho
                try
                {
                    string sql = "SELECT SUM(VALOR) AS VALOR FROM DBCONTROLE";
                    //sql += " Where Mes = '" + ckbAbril.Content + "'";
                    sql += " WHERE MES = 'Julho' and ANO = '" + EscolherAno.Text + "'";
                    conn.Open();
                    SqlDataAdapter da = new SqlDataAdapter(sql, conn);
                    DataSet ds = new DataSet();
                    da.Fill(ds, "DBCONTROLE");
                    foreach (DataRow dr in ds.Tables["DBCONTROLE"].Rows)
                    {
                        lblSomaJulho.Text = "R$ " + dr["VALOR"].ToString();
                        if (dr["VALOR"].ToString() == "")
                        {
                            lblSomaJulho.Text = "R$ " + 0 + ",00";
                        }
                    }
                    conn.Close();
                }
                catch (Exception x)
                {
                    MessageBox.Show("Erro: " + x.Message);
                }
                finally
                {
                    conn.Close();

                    if (lblSomaJulho.Text.Length > 10)
                        lblSomaJulho.Text = lblSomaJulho.Text.Substring(0, lblSomaJulho.Text.Length - 9) + "." + lblSomaJulho.Text.Substring(4, lblSomaJulho.Text.Length - 10) + "." + lblSomaJulho.Text.Substring(lblSomaJulho.Text.Length - 6);
                    else if (lblSomaJulho.Text.Length > 9)
                        lblSomaJulho.Text = lblSomaJulho.Text.Substring(0, lblSomaJulho.Text.Length - 6) + "." + lblSomaJulho.Text.Substring(lblSomaJulho.Text.Length - 6);
                }
                #endregion

                #region Agosto
                try
                {
                    string sql = "SELECT SUM(VALOR) AS VALOR FROM DBCONTROLE";
                    //sql += " Where Mes = '" + ckbAbril.Content + "'";
                    sql += " WHERE MES = 'Agosto' and ANO = '" + EscolherAno.Text + "'";
                    conn.Open();
                    SqlDataAdapter da = new SqlDataAdapter(sql, conn);
                    DataSet ds = new DataSet();
                    da.Fill(ds, "DBCONTROLE");
                    foreach (DataRow dr in ds.Tables["DBCONTROLE"].Rows)
                    {
                        lblSomaAgosto.Text = "R$ " + dr["VALOR"].ToString();
                        if (dr["VALOR"].ToString() == "")
                        {
                            lblSomaAgosto.Text = "R$ " + 0 + ",00";
                        }
                    }
                    conn.Close();
                }
                catch (Exception x)
                {
                    MessageBox.Show("Erro: " + x.Message);
                }
                finally
                {
                    conn.Close();

                    if (lblSomaAgosto.Text.Length > 10)
                        lblSomaAgosto.Text = lblSomaAgosto.Text.Substring(0, lblSomaAgosto.Text.Length - 9) + "." + lblSomaAgosto.Text.Substring(4, lblSomaAgosto.Text.Length - 10) + "." + lblSomaAgosto.Text.Substring(lblSomaAgosto.Text.Length - 6);
                    else if (lblSomaAgosto.Text.Length > 9)
                        lblSomaAgosto.Text = lblSomaAgosto.Text.Substring(0, lblSomaAgosto.Text.Length - 6) + "." + lblSomaAgosto.Text.Substring(lblSomaAgosto.Text.Length - 6);
                }
                #endregion

                #region Setembro
                try
                {
                    string sql = "SELECT SUM(VALOR) AS VALOR FROM DBCONTROLE";
                    //sql += " Where Mes = '" + ckbAbril.Content + "'";
                    sql += " WHERE MES = 'Setembro' and ANO = '" + EscolherAno.Text + "'";
                    conn.Open();
                    SqlDataAdapter da = new SqlDataAdapter(sql, conn);
                    DataSet ds = new DataSet();
                    da.Fill(ds, "DBCONTROLE");
                    foreach (DataRow dr in ds.Tables["DBCONTROLE"].Rows)
                    {
                        lblSomaSetembro.Text = "R$ " + dr["VALOR"].ToString();
                        if (dr["VALOR"].ToString() == "")
                        {
                            lblSomaSetembro.Text = "R$ " + 0 + ",00";
                        }
                    }
                    conn.Close();
                }
                catch (Exception x)
                {
                    MessageBox.Show("Erro: " + x.Message);
                }
                finally
                {
                    conn.Close();

                    if (lblSomaSetembro.Text.Length > 10)
                        lblSomaSetembro.Text = lblSomaSetembro.Text.Substring(0, lblSomaSetembro.Text.Length - 9) + "." + lblSomaSetembro.Text.Substring(4, lblSomaSetembro.Text.Length - 10) + "." + lblSomaSetembro.Text.Substring(lblSomaSetembro.Text.Length - 6);
                    else if (lblSomaSetembro.Text.Length > 9)
                        lblSomaSetembro.Text = lblSomaSetembro.Text.Substring(0, lblSomaSetembro.Text.Length - 6) + "." + lblSomaSetembro.Text.Substring(lblSomaSetembro.Text.Length - 6);
                }
                #endregion

                #region Outubro
                try
                {
                    string sql = "SELECT SUM(VALOR) AS VALOR FROM DBCONTROLE";
                    //sql += " Where Mes = '" + ckbAbril.Content + "'";
                    sql += " WHERE MES = 'Outubro' and ANO = '" + EscolherAno.Text + "'";
                    conn.Open();
                    SqlDataAdapter da = new SqlDataAdapter(sql, conn);
                    DataSet ds = new DataSet();
                    da.Fill(ds, "DBCONTROLE");
                    foreach (DataRow dr in ds.Tables["DBCONTROLE"].Rows)
                    {
                        lblSomaOutubro.Text = "R$ " + dr["VALOR"].ToString();
                        if (dr["VALOR"].ToString() == "")
                        {
                            lblSomaOutubro.Text = "R$ " + 0 + ",00";
                        }
                    }
                    conn.Close();
                }
                catch (Exception x)
                {
                    MessageBox.Show("Erro: " + x.Message);
                }
                finally
                {
                    conn.Close();

                    if (lblSomaOutubro.Text.Length > 10)
                        lblSomaOutubro.Text = lblSomaOutubro.Text.Substring(0, lblSomaOutubro.Text.Length - 9) + "." + lblSomaOutubro.Text.Substring(4, lblSomaOutubro.Text.Length - 10) + "." + lblSomaOutubro.Text.Substring(lblSomaOutubro.Text.Length - 6);
                    else if (lblSomaOutubro.Text.Length > 9)
                        lblSomaOutubro.Text = lblSomaOutubro.Text.Substring(0, lblSomaOutubro.Text.Length - 6) + "." + lblSomaOutubro.Text.Substring(lblSomaOutubro.Text.Length - 6);
                }
                #endregion

                #region Novembro
                try
                {
                    string sql = "SELECT SUM(VALOR) AS VALOR FROM DBCONTROLE";
                    //sql += " Where Mes = '" + ckbAbril.Content + "'";
                    sql += " WHERE MES = 'Novembro' and ANO = '" + EscolherAno.Text + "'";
                    conn.Open();
                    SqlDataAdapter da = new SqlDataAdapter(sql, conn);
                    DataSet ds = new DataSet();
                    da.Fill(ds, "DBCONTROLE");
                    foreach (DataRow dr in ds.Tables["DBCONTROLE"].Rows)
                    {
                        lblSomaNovembro.Text = "R$ " + dr["VALOR"].ToString();
                        if (dr["VALOR"].ToString() == "")
                        {
                            lblSomaNovembro.Text = "R$ " + 0 + ",00";
                        }
                    }
                    conn.Close();
                }
                catch (Exception x)
                {
                    MessageBox.Show("Erro: " + x.Message);
                }
                finally
                {
                    conn.Close();

                    if (lblSomaNovembro.Text.Length > 10)
                        lblSomaNovembro.Text = lblSomaNovembro.Text.Substring(0, lblSomaNovembro.Text.Length - 9) + "." + lblSomaNovembro.Text.Substring(4, lblSomaNovembro.Text.Length - 10) + "." + lblSomaNovembro.Text.Substring(lblSomaNovembro.Text.Length - 6);
                    else if (lblSomaNovembro.Text.Length > 9)
                        lblSomaNovembro.Text = lblSomaNovembro.Text.Substring(0, lblSomaNovembro.Text.Length - 6) + "." + lblSomaNovembro.Text.Substring(lblSomaNovembro.Text.Length - 6);
                }
                #endregion

                #region Dezembro
                try
                {
                    string sql = "SELECT SUM(VALOR) AS VALOR FROM DBCONTROLE";
                    //sql += " Where Mes = '" + ckbAbril.Content + "'";
                    sql += " WHERE MES = 'Dezembro' and ANO = '" + EscolherAno.Text + "'";
                    conn.Open();
                    SqlDataAdapter da = new SqlDataAdapter(sql, conn);
                    DataSet ds = new DataSet();
                    da.Fill(ds, "DBCONTROLE");
                    foreach (DataRow dr in ds.Tables["DBCONTROLE"].Rows)
                    {
                        lblSomaDezembro.Text = "R$ " + dr["VALOR"].ToString();
                        if (dr["VALOR"].ToString() == "")
                        {
                            lblSomaDezembro.Text = "R$ " + 0 + ",00";
                        }
                    }
                    conn.Close();
                }
                catch (Exception x)
                {
                    MessageBox.Show("Erro: " + x.Message);
                }
                finally
                {
                    conn.Close();

                    if (lblSomaDezembro.Text.Length > 10)
                        lblSomaDezembro.Text = lblSomaDezembro.Text.Substring(0, lblSomaDezembro.Text.Length - 9) + "." + lblSomaDezembro.Text.Substring(4, lblSomaDezembro.Text.Length - 10) + "." + lblSomaDezembro.Text.Substring(lblSomaDezembro.Text.Length - 6);
                    else if (lblSomaDezembro.Text.Length > 9)
                        lblSomaDezembro.Text = lblSomaDezembro.Text.Substring(0, lblSomaDezembro.Text.Length - 6) + "." + lblSomaDezembro.Text.Substring(lblSomaDezembro.Text.Length - 6);
                }
                #endregion

                #region Anual
                try
                {
                    string sql = "SELECT SUM(VALOR) AS VALOR FROM DBCONTROLE";
                    //sql += " Where Mes = '" + ckbAbril.Content + "'";
                    sql += " WHERE ANO = '" + EscolherAno.Text + "'";
                    conn.Open();
                    SqlDataAdapter da = new SqlDataAdapter(sql, conn);
                    DataSet ds = new DataSet();
                    da.Fill(ds, "DBCONTROLE");
                    foreach (DataRow dr in ds.Tables["DBCONTROLE"].Rows)
                    {
                        lblSomaAnual.Text = "R$ " + dr["VALOR"].ToString();
                        if (dr["VALOR"].ToString() == "")
                        {
                            lblSomaAnual.Text = "R$ " + 0 + ",00";
                        }
                    }
                    conn.Close();
                }
                catch (Exception x)
                {
                    MessageBox.Show("Erro: " + x.Message);
                }
                finally
                {
                    conn.Close();

                    if (lblSomaAnual.Text.Length > 10)
                        lblSomaAnual.Text = lblSomaAnual.Text.Substring(0, lblSomaAnual.Text.Length - 9) + "." + lblSomaAnual.Text.Substring(4, lblSomaAnual.Text.Length - 10) + "." + lblSomaAnual.Text.Substring(lblSomaAnual.Text.Length - 6);
                    else if (lblSomaAnual.Text.Length > 9)
                        lblSomaAnual.Text = lblSomaAnual.Text.Substring(0, lblSomaAnual.Text.Length - 6) + "." + lblSomaAnual.Text.Substring(lblSomaAnual.Text.Length - 6);
                }
                #endregion
            }
                
        }  

        #endregion

        #endregion

        #endregion           

        public enum Telas
        {
            Main,
            Controle
        }
        }
    }